The present invention relates to digital television and the like, and more particularly to a video coding scheme for multicast applications. The invention is particularly suitable for providing a streaming video server for multicast video over computer networks, such as Internet protocol (IP) networks. A multicast transmission can use simulcast (xe2x80x9cSim.xe2x80x9d) or spatial scalability (xe2x80x9cSSxe2x80x9d) coding.
Usually, three major factors in a multicast video service need to be considered:
(1) The costs of reaching the audience (from the video-coding point of view);
(2) Quality of Service (e.g. visual quality); and
(3) Encoding complexity vs. decoding complexity.
Some multicast systems have chosen to use simulcast coding (the independent coding of bitstreams to achieve video scalability) exclusively. The simulcast approach does not require additional encoder or decoder complexity and thus satisfies the third factor listed above.
For some application environments, codec complexity may not be an issue and the first two factors are the main concerns. For these services, the selection of the video compression (coding) scheme to be used often follows the rule that for a given total combined allocation of two or more service rates, a coding scheme that can achieve the highest peak signal-to-noise ratio (PSNR) for clients is desired. Also, for a given quality requirement (e.g., PSNR for each bitstream), a coding scheme that can achieve the smallest total bit allocation is desired.
Intuitively, scalable bitstreams (dependently coded bitstreams) are expected to perform better than simulcast coding. This reasoning suggests that a multicast implementation without complexity constraints should only use spatial scalability. However, the present inventors have found that simulcast coding outperforms spatial scalability for certain operating regions. This surprising discovery enables a determination to be made as to which approach to use for a given application and to provide an adaptive switching technique between the two coding approaches.
It would be advantageous to provide an optimal method for selecting between spatial scalability and simulcast coding for multicast video services. Such a method should enable a determination to be made as to whether simulcast coding or spatial scalability should be used to encode video for clients with a specific communication link. It would be further advantageous if, in addition to guiding decisions for specific cases, the methodology could be used to construct decision regions to guide more general scenarios, or used to adaptively switch between the two approaches. Operating points for both simulcast coding and spatial scalability, in terms of bit allocations among clients, should also be determinable by using such a method.
The present invention provides a system having the aforementioned and other advantages.
An optimal technique is provided for selecting between spatial scalability and simulcast coding to provide an efficient compression algorithm. In particular, simulcast coding can outperform spatial scalability when a small proportion of bits is allocated to the base layer.
A technique is also provided for determining whether simulcast coding or spatial scalability should be used to encode video for clients with a specific communication link. Operating points for both simulcast coding and spatial scalability are also determined. Adaptive switching between the two approaches is also provided, with the operating regions being used to guide the switching.
The invention also provides a method for determining the point of equal quality in both layers of simulcast coding. The proportion of bits allocated to the base layer to achieve equal quality is independent of the total bit rate for both simulcast and spatial scalability.
Corresponding methods and apparatuses are presented.